<?php
class Publicacion extends Doctrine_Record {
    public function setTableDefinition() {
        $this->setTableName('publicacion');
        $this->hasColumn('titulo','string', 150);
        $this->hasColumn('detalle','string', 1000);
        $this->hasColumn('materiales','string', 1000);
        $this->hasColumn('fecha','date');
        $this->hasColumn('id_estado','integer');
        $this->hasColumn('id_tipo','integer');
        $this->hasColumn('id_categoria','integer');
        $this->hasColumn('id_tipoVenta','integer');
        $this->hasColumn('id_seguidor','integer'); //usuarios que tienen marcada esta publicacion como favorita
    }

    public function setUp(){
        $this->hasOne('Estado as estado',array(
            'local'=>'id_estado',
            'foreign'=>'id'
        ));
        $this->hasOne('TipoPublicacion as tipo',array(
            'local'=>'id_tipo',
            'foreign'=>'id'
        ));
        $this->hasOne('Lista as categoria',array(
            'local'=>'id_categoria',
            'foreign'=>'id'
        ));
        $this->hasOne('TipoVenta as tipoVenta',array(
            'local'=>'id_tipoVenta',
            'foreign'=>'id'
        ));
        $this->hasMany('Imagen as imagenes',array(
            'local'=>'id',
            'foreign'=>'id_publicacion'
        ));
        $this->hasMany('Comentario as comentarios',array(
            'local'=>'id',
            'foreign'=>'id_publicacion'
        ));
        $this->hasMany('Usuario as seguidores', array(
            'local' => 'id_seguidor',
            'foreign' => 'id_publicacion_favorita',
            'refClass' => 'FavoritoPublicacion'
        ));
    }

    //INCIO DE GETERS Y SETERS
    public function getTitulo () {
        return utf8_decode($this->_get('titulo'));
    }
    public function setTitulo ($titulo) {
        $this->_set('titulo', utf8_encode($titulo));
    }
    public function getDetalle () {
        return utf8_decode($this->_get('detalle'));
    }
    public function setDetalle ($detalle) {
        $this->_set('detalle', utf8_encode($detalle));
    }
    public function getMateriales () {
        return utf8_decode($this->_get('materiales'));
    }
    public function setMateriales ($materiales) {
        $this->_set('materiales', utf8_encode($materiales));
    }
    //FIN SETERS Y GETERS
}
?>